package com.youlv.yl.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @author Feri
 * @date 2021/12/28 17:19
 * @description:TODO
 */
public class DateUtils {
    /**
     * 获取指定年后的日期
     */
    public static Date getYearTime(int year) {
        //1.日历类
        Calendar calendar = Calendar.getInstance();
        //2.添加指定的年
        calendar.add(Calendar.YEAR, year);
        return calendar.getTime();
    }

    /** 比较日期是否相同*/
    public static boolean dateEq(Date sdate, Date edate) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        return sdf.format(sdate).equals(sdf.format(edate));
    }

    /** 获取指定的日期*/
    public static Date getDateByDay(int day) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_MONTH, day);
        return calendar.getTime();
    }

    /** 获取今日日期 yy-MM-dd*/
    public static String TodayDate() {
        return new SimpleDateFormat("yyyy-MM-dd").format(new Date());
    }

    /** 获取当前时间 yy-MM-dd HH:mm:ss*/
    public static String CurrentTime() {
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
    }

    /** 将字符串时间转为Date格式*/
    public static Date stringToDate(String time) {
        try {
            return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(time);
        } catch (ParseException e) {
            return null;
        }
    }

    /** 获取两个string类型时间的时间差，返回分钟*/
    public static Long getTimeDiff(String time1, String time2) {
        return (stringToDate(time1).getTime() - stringToDate(time2).getTime()) / (1000 * 60);
    }
}
